perm filename LAMBDA[BOO,JMC]1 blob
sn#521706 filedate 1980-07-08 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 .ss(lambda,LAMBDA CALCULUS)
C00004 ENDMK
C⊗;
.ss(lambda,LAMBDA CALCULUS)
The lambda notation used in LISP was taken from the lambda
calculus described by Alonzo Church in his 1940 book, %2The Calculi
of Lambda Conversion%1. This section covers some aspects of the
lambda calculus that go beyond what is used in LISP.
Each LISP expression has a definite %2type%1. Either it
is like %2qa_x%1 and takes S-expressions as values or it is like
%2λx.[qa_x_._y]%1 and represents a function. The lambda calculus
doesn't make this distinction, and any expression can be taken as
a function. This is more general, but a system that realized it
on a computer would most likely do everything in a more complicated
and slower way for the benefit of rarely utilized generality. We
say "most likely", because someone may invent a way of getting the
generality without paying any operational penalty.
Lambda calculus is much simpler than LISP in its basic structure,
and its formulas are constructed as follows:
.item←0